Integration testing of object-oriented components using finite state machines
نویسندگان
چکیده
In object-oriented terms, one of the goals of integration testing is to ensure that messages from objects in one class or component are sent and received in the proper order and have the intended effect on the state of external objects that receive the messages. This research extends an existing single-class testing technique to integration testing. The previous method models the behavior of a single class as a finite state machine, transforms that representation into a data flow graph that explicitly identifies the definitions and uses of each state variable of the class, and then applies conventional data flow testing to produce test case specifications that can be used to test the class. This paper extends those ideas to inter-class testing by developing flow graphs and tests for an arbitrary number of classes and components. It introduces flexible representations for message sending and receiving among objects and allows concurrency among any or all classes and components. A second major result is the introduction of a novel approach to performing data flow analysis. Data flow graphs are stored in a relational database, and database queries are used to gather def-use information. This approach is conceptually simple, mathematically precise, quite powerful, and general enough to be used for traditional data flow analysis. This testing approach relies on finite state machines, database modeling and processing techniques, and algorithms for analysis and traversal of directed graphs. A proof-of-concept implementation is used to illustrate how the approach works on an extended example.
منابع مشابه
Integration Testing of Object-oriented Components Using FSMS: Theory and Experimental Details
In object-oriented terms, one of the goals of integration testing is to ensure that messages from objects in one class or component are sent and received in the proper order and have the intended effect on the state of external objects that receive the messages. This research extends an existing single-class testing technique to integration testing. The previous method models the behavior of a ...
متن کاملConformance Testing of Object-Oriented Components Specified by State/Transition Classes
In object-oriented software development, a class is the basic unit of semantic abstraction, a component is a closely related collection of classes, and a system is a collection of components designed to solve a problem. An object is an instance of a class. Each object consists of state and behavior, where state is determined by the values of state variables identified in the class definition, a...
متن کاملNISTIR 6592 Conformance Testing of Object - Oriented Components Specified
In object-oriented software development, a class is the basic unit of semantic abstraction, a component is a closely related collection of classes, and a system is a collection of components designed to solve a problem. An object is an instance of a class. Each object consists of state and behavior, where state is determined by the values of state variables identified in the class definition, a...
متن کاملTest Sequence Generation For Integration Testing Of Component Software
Ensuring high object interoperability is a goal of integration testing for objectoriented software. When messages are sent, objects that receive them should respond as intended. Ensuring this is especially difficult when software uses components that are developed by different vendors, in different languages, and the implementation sources are not all available. A finite state machines model of...
متن کاملUsing State Diagrams to Generate Unit Tests for Object-Oriented Systems
Traditionally, finite state machines and their extensions, such as stream X-machines, have been used for modelling and testing of graphical user interfaces (GUI) and for acceptance testing. This paper shows how these testing techniques can be successfully extended to unit test generation for object-oriented systems and integrated into Extreme Programming in a simple and designer-friendly way. T...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softw. Test., Verif. Reliab.
دوره 16 شماره
صفحات -
تاریخ انتشار 2006